package com.atguigu;

import com.atguigu.dny.ProxyFactory;
import com.atguigu.statics.StaticProxyCalculator;

/**
 * @版本： V5.1.0
 * @版权： Copyright @ 2025 广东广昱信息科技有限公司版权所有
 * @作者： 广东广昱信息科技有限公司
 * @日期： 2025-06-16 10:11
 */
public class UseAop {
    public static void main(String[] args) {

        //房东 目标
        Calculator target = new CaculatorPureImpl() ;

        //中介 代理
        Calculator proxy = new StaticProxyCalculator( target);

        int result = proxy.add(1, 2);
        System.out.println("result = "+result);


        //jdk代理
        ProxyFactory factory = new ProxyFactory(target);
        //使用接口接值 = 代理对象[兄弟 拜把子]
        Calculator proxy1 = (Calculator) factory.getProxy();
        int result1 = proxy1.add(1, 2);
        System.out.println("result1 = "+result1);
    }
}
